草庐IT

ios - AVCaptureSession 和 AVAssetWriter 不同的设置

全部标签

ruby - 如何配置 Bundler/Gemfile 以在开发期间使用不同的 gem 源?

我有一个Sinatra应用程序需要我在本地开发的另一个gem。我在配置Bundler以在开发期间使用我的本地gem代码时遇到问题,但在生产中使用我出售的gem代码。理想情况下我可以做这样的事情,但是Bundler不允许你指定同一个gem两次:#Doesn'twork:group:developmentdogem'awesome',:path=>"~/code/awesome"endgroup:productiondogem'awesome',:path=>"vendor/gems/awesome-0.0.1"end与此同时,我每次部署时都采用手动销售gem并更新Gemfile中的gem

ruby - 是否有一种简单的方法来检查 Ruby IO 实例是否会阻塞 read()?

我正在寻找一种Ruby中的方法,基本上是这样的:io.ready_for_read?我只想检查给定的IO对象(在我的例子中是popen调用的结果)是否有可用的输出,即后续调用io.read(1)不会阻塞。这是我看到的两个选项,我都不喜欢:io.read_nonblock-Unixread()的抽象太薄了-我不想处理errno错误处理。io.selectwithtimeout0--混淆了这个简单操作的目的。有没有我忽略的更好的选择? 最佳答案 有点晚了,但是如果您需要'io/wait',您可以使用ready?来验证IO是否可以无阻塞地

ruby - 编写 gem 时设置配置设置

我正在编写一个gem,我想在有和没有Rails环境的情况下工作。我有一个Configuration类来允许配置gem:moduleNameCheckerclassConfigurationattr_accessor:api_key,:log_leveldefinitializeself.api_key=nilself.log_level='info'endendclass现在可以这样使用了:NameChecker.configuredo|config|config.api_key='dfskljkf'end但是,我似乎无法通过gem中的其他类访问我的配置变量。例如,当我像这样在spec

ruby - 在初始化时使用 attr_accessor 设置 ruby​​ 2.0 关键字参数

我怎样才能动态设置而不用写相同的代码。现在的代码是这样的:definitialize(keywords:keywords,title:title,url:url,adsetting:adsetting)self.keywords=keywordsself.title=titleself.url=urlself.adsetting=adsettingend如果列表变长,这很快就会失控。在ruby​​1.9中,我只需将哈希传递给该方法。像这样:definitialize(args)args.eachdo|k,v|instance_variable_set("@#{k}",v)unlessv

ruby - 如何在 ruby​​ 中为 OpenSSL 设置 ca-bundle 路径

我在ruby​​中遇到问题,OpenSSL无法验证SSL证书。我认为这是由于脚本不知道ca-bundle.pem造成的。是否可以手动配置ca-bundle.pem的路径? 最佳答案 OpenSSL使用SSL_CERT_FILE环境变量。您可以使用类似于第一个引入OpenSSL的require之前的东西在您的ruby​​脚本中设置它:ENV['SSL_CERT_FILE']='/path/to/ca-bundle.pem'或者,如果您愿意,可以根据您的情况在操作系统环境、网络服务器配置等中设置SSL_CERT_FILE环境变量。

ruby - 为什么 assert_equal 哈希的格式/语法与其他 assert_equals 不同?

我正在研究RubyKoans目前正在使用AboutHashes。到目前为止,assert_equals遵循特定的格式样式:assert_equalspaceexpected_valuecommaactualvalue(例如,assert_equal2,1+1)。但是AboutHashes中的test_creating_hashesdef有一个不遵循这种模式的assert_equal,如果我更改它以匹配该模式,它就会失败。具体来说:deftest_creating_hashesempty_hash=Hash.newassert_equal{},empty_hash#-->failsass

ruby-on-rails - 为什么这两个日期时间不同?

为什么Time.current不等于其解析的等价物?current=Time.current#Wed,16Sep201517:10:56CEST+02:00parsed=Time.zone.parse('16Sep201517:10:56')#Wed,16Sep201517:10:56CEST+02:00current==parsed#false我实际上在RubyonRails应用程序中遇到了这个问题,我尝试根据已解析的日期时间属性查找记录,如最后几行所示。我真的不明白。时区相同,时间相同,精确到秒。这里发生了什么?此外,我应该如何继续根据解析的日期时间查找记录?

ruby - (Mac) 当语法设置为 Ruby 时 Vim 相当慢

我在MacVim7.4(我使用命令行版本)上,通过Homebrew安装。Vim在语法高亮Ruby代码时很慢。htop在vi​​m中移动Ruby文件时显示80%-100%的CPU使用率。我在SO上找到了这些:VimslowwithrubysyntaxhighlightingSyntaxhighlightingcausesterriblelaginVim并尝试了建议的解决方案。我做了什么:setregexpengine=1:没有任何改变。CPU使用率仍然很高,性能很慢。设置lazyredraw:事情变得更好,但权衡非常明显(光标在移动时消失)我检查了.vimrc中的autocmd语句,没有

ruby-on-rails - 在 Rails 3 中的区域设置更改后重定向到新域中的同一页面

使用带有以下gem的Rails3.2.8的应用程序gem'friendly_id','~>4.0'gem'route_translator'在/config/initializers/i18n.rbTLD_LOCALES={"com"=>:en,"jobs"=>:en,"net"=>:en,"in"=>:en,"de"=>:de,"ch"=>:de,"at"=>:de,"br"=>:pt,"ar"=>:es,"cl"=>:es,"mx"=>:es}在/app/controllers/application_controller.rb中,使用前置过滤器为每个请求设置语言环境:before

ruby - 为什么 Ruby 调试器在运行时返回的值与代码不同?

看看这个简单的Ruby类:require'byebug'classFoodefrunbyebugputsdefined?(bar)putsbar.inspectbar='localstring'putsdefined?(bar)putsbar.inspectenddefbar'stringfrommethod'endendFoo.new.run运行此类时,可以在调试器的控制台中观察到以下行为:$rubybyebug.rb[2,11]in/../test.rb2:3:classFoo4:defrun5:byebug6:=>7:putsdefined?(bar)8:putsbar.insp